﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Clipper.Model;
using System.Windows;
using System.Windows.Media.Animation;
using System.Windows.Controls;
using System.Threading;


namespace Clipper.BLL.DetectChain
{
    /// <summary>
    /// 仪器部件父类
    /// </summary>
    public abstract class ApplianceComponent
    {
        ApplianceComponent nextComponent;
        /// <summary>
        /// 下一个部件
        /// </summary>
        public ApplianceComponent NextComponent
        {
            get { return nextComponent; }
            set { nextComponent = value; }
        }
        /// <summary>
        /// 位置代号
        /// </summary>
        public int PositionCode
        {
            get;
            set;
        }
        /// <summary>
        /// 子系统的工作状态
        /// </summary>
        public abstract ControlStatusEnum DetectionStatus
        {
            get;
            set;
        }
        
        /// <summary>
        /// 子系统要进行的操作，子系统工作时状态为busy，完成为finished，反应条运走为idle
        /// 与小车有关的使用小车类运反应条
        /// </summary>
        /// <param name="request">反应条</param>
        public abstract void Run(ReactionCup strip);
        
        /// <summary>
        /// 子系统演示
        /// </summary>
        /// <param name="strip">反应条</param>
        public abstract void Simulate(ReactionCup strip);

        /// <summary>
        /// 暂停/恢复子系统
        /// </summary>
        //public abstract void Pause();
       
    }
}
